﻿using System;

namespace Moki
{
    public interface ICall
    {
        ICall Callback(Action callbackAction);
        ICall Callback(Action<Arguments> callbackAction);
        ICall Raises(Action action, EventArgs eventArgs);
        ICall Raises(Action action, params object[] eventArgs);
        ICall Do(Func<Arguments, object> customBehavior);
        ICall Do(Func<object> customBehavior);
        ICall Returns(object value);
        ICall Returns(params object[] values);
        ICall Throws(Exception exception);
    }
}
